<?php
##########################################
##### Autor: Yngrid Coello           #####
##### Correo: y-c-@hotmail.com       #####
##### Ult. Modif: 26/10/2011         #####
##### Pasantias de Grado - USB       #####
##### Realización del Sistema: 0Bs   #####
##########################################

class AeronaveForm extends BaseAeronaveForm
{
  public function configure()
  {
     // Inicializar los Widgets de cada campo
    $this->setWidgets(array(
      'serial'    => new sfWidgetFormInputText(),
      'siglas'    => new sfWidgetFormInputText(),
      'modelo'    => new sfWidgetFormInputText(),
      'capTanque' => new sfWidgetFormInputText(),
      'uMedida'   => new sfWidgetFormPropelChoice(array('model' => 'UnidMedida', 'add_empty' => '- Seleccione -')),
    ));
    
     // Cambiar las etiquetas de las columnas de la tabla de BD
	$this->widgetSchema->setLabels(array(
	  'capTanque'  => 'Capacidad del Tanque',
	  'uMedida'    => 'U. en que se mide la capacidad',
	));
    // Setear los errores que aparecen en el formulario
    $this->setValidators(array(
      'modelo'    => new sfValidatorString(array('min_length' => 1), array('required' => 'Debe especificar el modelo del avi&oacute;n.','min_length' => 'Valor no v&aacute;lido. Por favor inserte una modelo de Avi&oacute;n v&aacute;lido',)),
      'siglas'    => new sfValidatorString(array('min_length' => 1), array('required' => 'Debe especificar las siglas del Avi&oacute;n.','min_length' => 'Valor no v&aacute;lido. Por favor inserte unas siglas v&aacute;lidas',)),
      'serial'    => new sfValidatorInteger(array('min' => 1), array('required' => 'Debe especificar el n&uacute;mero de serial del Avi&oacute;n.','min' => 'Valor no v&aacute;lido. Por favor inserte un serial mayor o igual a %min%',)),
      'capTanque' => new sfValidatorInteger(array('min' => 1), array('required' => 'Debe especificar la capacidad del tanque del Avi&oacute;n.','min' => 'Valor no v&aacute;lido. Por favor inserte una capacidad mayor o igual a %min%',)),
      'uMedida'   => new sfValidatorPropelChoice(array('model' => 'UnidMedida', 'column' => 'simbolo','required' => true), array('required' => 'Debe especificar la Unidad de medida en la que se mide la capacidad del Avi&oacute;n.')),
    ));
    
    $this->validatorSchema->setPostValidator(
      new sfValidatorPropelUnique(array('model' => 'Aeronave', 'column' => array('siglas')))
    );

    $this->widgetSchema->setNameFormat('aeronave[%s]');
    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  }
}
